البرمجة

تثبيت Ruby on Rails على أوبنتو

تثبيت إطار Ruby on Rails في أوبنتو لينكس: دليل شامل وموسع

يُعد إطار Ruby on Rails أحد أشهر الأطر البرمجية المستخدمة في تطوير تطبيقات الويب الحديثة، ويتميز بمرونته العالية، وسرعة التطوير التي يوفرها، إضافة إلى تبنيه لمبادئ معمارية قوية مثل Convention over Configuration وDon’t Repeat Yourself. يعتمد هذا الإطار على لغة روبي Ruby كلغة برمجة أساسية، ويحتاج إلى بيئة جاهزة للعمل تتضمن مجموعة من الأدوات والخدمات المرتبطة مثل قاعدة بيانات، ومثبت حزم، وأدوات إدارة الإصدارات.

توزيعة أوبنتو Ubuntu Linux تعتبر خيارًا مثاليًا للمطورين الذين يفضلون بيئة مستقرة، مفتوحة المصدر، وقابلة للتخصيص. ولذلك فإن تثبيت Ruby on Rails على أوبنتو يتطلب إعدادًا دقيقًا يمر بعدة مراحل متسلسلة لضمان بيئة عمل سليمة، سريعة وآمنة.

في هذا المقال سيتم تناول جميع الخطوات الأساسية والمتقدمة لتثبيت Ruby on Rails في نظام Ubuntu مع التركيز على الجوانب العملية، وتوفير بدائل وتقنيات مساعدة تضمن النجاح في عملية الإعداد.


المتطلبات الأساسية للنظام

قبل البدء في تثبيت Ruby on Rails يجب التأكد من أن النظام محدث ويحتوي على الأدوات الأساسية اللازمة. يتم ذلك من خلال تحديث الحزم وتثبيت الأدوات الأساسية مثل curl، git، build-essential وغيرها. وذلك عن طريق تنفيذ الأوامر التالية:

bash
sudo apt update sudo apt upgrade -y sudo apt install curl gnupg2 git-core build-essential libssl-dev libreadline-dev zlib1g-dev libsqlite3-dev libpq-dev -y

هذه الحزم تتيح تجميع الحزم المصدرية، دعم قاعدة بيانات PostgreSQL وSQLite، والعمل مع أدوات Ruby.


تثبيت مدير الإصدارات RVM

RVM (Ruby Version Manager) هو الأداة المفضلة لتثبيت وإدارة إصدارات روبي المتعددة. يتيح هذا المدير تثبيت أكثر من إصدار من لغة روبي والتنقل بينها بسهولة دون تعارض.

خطوات تثبيت RVM:

  1. تثبيت GPG Key لتوثيق RVM:

bash
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys \ 409B6B1796C275462A1703113804BB82D39DC0E3 \ 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
  1. تثبيت RVM:

bash
curl -sSL https://get.rvm.io | bash -s stable
  1. تحميل إعدادات RVM في الجلسة الحالية:

bash
source ~/.rvm/scripts/rvm

تثبيت لغة Ruby

بعد تثبيت RVM، يمكن الآن تثبيت لغة روبي بإصدار حديث. يوصى دائمًا باختيار أحدث إصدار مستقر.

bash
rvm install ruby

بعد انتهاء التثبيت:

bash
rvm use ruby --default

للتحقق من التثبيت:

bash
ruby -v

تثبيت مدير الحزم Bundler

Bundler هو أداة تُستخدم لإدارة تبعيات تطبيقات Ruby on Rails. لتثبيته:

bash
gem install bundler

تثبيت قاعدة البيانات PostgreSQL

تُعد PostgreSQL واحدة من أكثر قواعد البيانات توافقًا مع Rails، خاصة في البيئات الإنتاجية.

bash
sudo apt install postgresql postgresql-contrib libpq-dev -y

بعد التثبيت، يتم إنشاء مستخدم مطابق لمستخدم النظام:

bash
sudo -u postgres createuser --interactive

يمكن أيضًا إنشاء قاعدة بيانات:

bash
sudo -u postgres createdb اسم_قاعدة_البيانات

تثبيت إطار Ruby on Rails

يُفضل استخدام gem لتثبيت Rails:

bash
gem install rails

للتحقق من نجاح التثبيت:

bash
rails -v

يُنصح باستخدام إصدار rails الذي يتوافق مع إصدار Ruby الذي تم تثبيته مسبقًا لتفادي المشكلات أثناء التطوير.


إعداد بيئة تطوير جديدة

بمجرد تثبيت Rails، يمكن الآن إنشاء مشروع جديد بسهولة:

bash
rails new my_app -d postgresql

هذا الأمر ينشئ تطبيق Rails جديد مع اعتماد PostgreSQL كقاعدة بيانات افتراضية. للدخول إلى مجلد المشروع:

bash
cd my_app

تكوين قاعدة البيانات:

bash
bin/rails db:create

تشغيل الخادم المحلي:

bash
bin/rails server

بذلك سيكون التطبيق متاحًا عبر الرابط: http://localhost:3000


تثبيت Node.js و Yarn

بما أن Rails 6 وما بعده يستخدم Webpacker لإدارة أصول الواجهة الأمامية (JavaScript)، فإن تثبيت Node.js وYarn ضروري.

تثبيت Node.js:

bash
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt install -y nodejs

تثبيت Yarn:

bash
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update && sudo apt install yarn -y

إعداد قاعدة البيانات بشكل آمن

من المهم في بيئات الإنتاج تأمين قاعدة البيانات عن طريق تعيين كلمات مرور قوية لمستخدم PostgreSQL وتكوين صلاحيات دقيقة.

يمكن تعديل كلمة المرور:

bash
sudo -u postgres psql \password postgres

ثم يتم تعديل ملف config/database.yml داخل تطبيق Rails ليتضمن كلمة المرور المناسبة.


التعامل مع Webpacker وبيئة الجافاسكريبت

بما أن Webpacker أصبح يعتمد بشكل أكبر على أدوات البناء الحديثة مثل webpack، يُوصى بتثبيت الحزم الخاصة بإدارة الأصول، والتأكد من تكاملها عبر تنفيذ:

bash
yarn install

هذا يسمح لـ Rails بترجمة ملفات JavaScript وCSS وتنظيمها ضمن النظام الحديث الذي يضمن أداءً أفضل في بيئات الإنتاج.


جدول الأدوات الأساسية لتثبيت Ruby on Rails في أوبنتو

الأداة الوصف أمر التثبيت
Git نظام التحكم في الإصدارات sudo apt install git
Curl تحميل البيانات من الإنترنت sudo apt install curl
RVM مدير إصدارات Ruby `curl -sSL https://get.rvm.io
Ruby لغة البرمجة الأساسية لـ Rails rvm install ruby
Rails إطار العمل gem install rails
PostgreSQL قاعدة بيانات sudo apt install postgresql
Node.js تشغيل ملفات JavaScript sudo apt install nodejs
Yarn إدارة الحزم الأمامية sudo apt install yarn

إعداد الإنتاج باستخدام Nginx وPassenger

للنشر الفعلي لتطبيق Rails في بيئة الإنتاج، يُوصى باستخدام خادم Nginx مع Passenger.

  1. تثبيت Passenger وNginx:

bash
sudo apt install -y dirmngr gnupg sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7 sudo apt install -y apt-transport-https ca-certificates
  1. إضافة مستودعات Phusion:

bash
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger focal main > /etc/apt/sources.list.d/passenger.list' sudo apt update
  1. تثبيت Passenger:

bash
sudo apt install -y libnginx-mod-http-passenger
  1. تفعيل Passenger:

تعديل ملف إعدادات Nginx الموجود في:

bash
sudo nano /etc/nginx/nginx.conf

وتفعيل السطر:

bash
include /etc/nginx/passenger.conf;

ثم إعادة تشغيل الخادم:

bash
sudo systemctl restart nginx

تحديثات الصيانة والأمان

من الضروري إجراء صيانة دورية للبيئة البرمجية وذلك من خلال:

  • تحديث الحزم باستخدام bundle update.

  • تحديث نظام Ubuntu عبر sudo apt update && sudo apt upgrade.

  • مراقبة سجل الثغرات الأمنية الخاصة بإطار Rails على الموقع الرسمي.

  • استخدام أدوات التحقق من الأمان مثل Brakeman لتحليل الشيفرة البرمجية.


الخلاصة

عملية تثبيت وإعداد Ruby on Rails في بيئة Ubuntu Linux تتطلب دقة وتدرجًا واضحًا في ترتيب الخطوات لضمان بيئة مستقرة للتطوير والإنتاج. بداية من إعداد الحزم الأساسية ومرورًا بتثبيت RVM وروبي وRails، ووصولاً إلى إعداد PostgreSQL وخادم الإنتاج، توفر هذه الخطوات بيئة متكاملة لإنشاء تطبيقات ويب قوية وآمنة.

يعتمد نجاح المشاريع المبنية على Rails على بيئة التثبيت الصحيحة، والتي إذا ما تم إعدادها كما هو موضح أعلاه، ستوفر أرضية صلبة للتطوير السريع والآمن. يعتمد مجتمع روبي على دعم مستمر من المطورين، لذا فإن استخدام أدوات حديثة ومتابعة التحديثات الدورية للإطار والنظام أمر بالغ الأهمية.

المراجع: